
package Controllers;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;

import Domein.Speler;

/**
 *
 * @author Tim
 */
public class Registreren implements ActionListener {
    
    /**
     *
     */
    public GUI.Registreren gr;
    /**
     *
     */
    public String melding = "";
    /**
     *
     */
    public Domein.Database db = new Domein.Database();

    /**
     *
     * @param r
     */
    public Registreren(GUI.Registreren r){
        this.gr = r;
    }

    /**
     *
     */
    public void newSpeler(){
        Domein.Speler s = new Speler();
        gr.gc.spelerIngelogd = s;
             try{s.setGebruikersnaam(gr.gebruikersnaamText.getText().trim());}catch(Exception e){melding +="\n " + e.getMessage();}
             if(db.vindSpeler(s.getGebruikersnaam())){melding +="\n Er bestaat al een speler met deze gebruikersnaam.";}
             try{s.setNaam(gr.voornaamText.getText().trim());}catch(Exception e){melding +="\n " + e.getMessage();}
             try{s.setTussenvoegsel(gr.tussenvoegselText.getText().trim());}catch(Exception e){melding +="\n " + e.getMessage();}
             try{s.setAchternaam(gr.achternaamText.getText().trim());}catch(Exception e){melding +="\n " + e.getMessage();}
             try{s.setGeboortedatum(gr.geboortedatumText.getText());}catch(Exception e){melding +="\n " + e.getMessage();}
             try{s.setStraat(gr.adresText.getText().trim());}catch(Exception e){melding +="\n " + e.getMessage();};
             try{s.setHuisnummer(gr.huisnummerText.getText().trim());}catch(Exception e){melding +="\n " + e.getMessage();}
             try{s.setToevoeging(gr.toevoegingText.getText().trim());}catch(Exception e){melding +="\n " + e.getMessage();}
             try{s.setWoonplaats(gr.woonplaatsText.getText().trim());}catch(Exception e){melding +="\n " + e.getMessage();}
             try{s.setPostcode(gr.postcodeText.getText().trim());}catch(Exception e){melding +="\n " + e.getMessage();}
             try{s.setLand(gr.landText.getText().trim());}catch(Exception e){melding +="\n " + e.getMessage();}
             try{s.setWachtwoord(gr.wachtwoordText,gr.wachtwoordControlleText);}catch(Exception e){melding +="\n " + e.getMessage();}
             try{s.setSaldo(gr.saldoText.getText().trim());}catch(Exception e){melding +="\n " + e.getMessage();}
            if(melding.length() < 1){
                if(s != null) {
                    try {
                        db.spelerOpslaan(s);
                        JOptionPane.showMessageDialog(gr.gc, "De speler is toegevoegd.");
                        gr.gc.setGUI("inloggen");
                    } catch (Exception ex) {
                        System.err.println(ex.getMessage());
                    }
                }
            }else{
                JOptionPane.showMessageDialog(gr.gc,"De volgende velden zijn niet correct ingevuld: \n" + melding);
                melding = "";
        }

    }

    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == gr.registreerButton){
            newSpeler();
        }
    }
}

